package com.hzlj.position.config.common.dto.jzJbxxDeviceBind;


import com.fz.common.base.dto.QueryResultCommonDTO;
import com.fz.common.base.enums.db.QueryField;
import com.fz.common.base.enums.db.ResultField;
import com.fz.common.dict.annotation.Dict;
import com.hzlj.position.config.common.dto.common.LocateTimesDTO;
import com.hzlj.position.config.common.model.JzJbxxConfig;
import com.hzlj.sqjz.jz.common.model.JzJbxx;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 设备绑定表(JzJbxxDeviceBind)查询结果返回DTO
 *
 * @author lifh
 * @date 2023-03-13 16:57:40
 */
@Data
@ToString
@Accessors(chain = true)
public class JzJbxxDeviceBindQueryResultDTO extends QueryResultCommonDTO<String> {
    /**
     * 主键
     */
    private String id;
    /**
     * 矫正ID(jz_jbxx)
     */
    private String jzId;
    /**
     * 设备编号
     */
    private String deviceCode;
    /**
     * 定位渠道类型,dict-LOCATE_CHANNEL_TYPE
     */
    @Dict("LOCATE_CHANNEL_TYPE")
    private String channelType;
    /**
     * 定位渠道类型,dict-LOCATE_CHANNEL_TYPE(文本)
     */
    private String channelTypeText;
    /**
     * 定位渠道,dict-LOCATE_CHANNEL
     */
    @Dict("LOCATE_CHANNEL")
    private String channel;
    /**
     * 定位渠道,dict-LOCATE_CHANNEL(文本)
     */
    private String channelText;
    /**
     * 是否在线
     */
    private Boolean online;
    /**
     * 状态更新时间
     */
    private Date onlineUpdateTime;
    /**
     * 定位间隔周期[单位：秒]
     */
    private Integer locateInterval;
    /**
     * 首次定位时间
     */
    private Date firstLocateTime;
    /**
     * 定位时间段,json-LocateTimesDTO
     */
    private LocateTimesDTO locateTimes;
    /**
     * 可越界距离，单位KM
     */
    @ResultField(JzJbxxConfig.class)
    private BigDecimal crossDistance;
    /**
     * 免点验标记
     */
    @ResultField(JzJbxxConfig.class)
    private Boolean mdy;
    /**
     * 姓名
     */
    @QueryField(model = JzJbxx.class)
    private String xm;
    /**
     * 机构ID
     */
    @ResultField(JzJbxx.class)
    private String jgId;

    /**
     * 机构ID全路径
     */
    @ResultField(JzJbxx.class)
    private String jgCode;

    /**
     * 机构名称
     */
    @ResultField(JzJbxx.class)
    private String jgMc;
}
